/**********************************************************************************************/
// dgt_TriggerElement.h
// Interface of trigger element
// 
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _DGT_TRIGGERELEMENT_H_
#define _DGT_TRIGGERELEMENT_H_

#include "dgtKernel.h"
#include "dgt_SmartMacros.h"
#include "dgt_Element.h"

SMART_CLASS( dgt_TriggerElement );

/**********************************************************************************************/
interface dgt_TriggerElement: public dgt_Element
{
							dgt_TriggerElement( void )		{};

virtual						~dgt_TriggerElement( void )		{};

		// Synchron or asynchron trigger
virtual	bool				get_Syncro( void ) = 0;
		// Number of elements in 1 block
virtual unsigned long		get_BCount( void ) = 0;
		// Number of inputs of trigger
virtual unsigned long		get_ICount( void ) = 0;
		// Function table of element
virtual	wxArrayShort		get_Table( void ) = 0;	

		// Get input sygnals for required jump ( from begValue to endValue )
virtual wxArrayShort		get_InpSygnals( bool begValue, bool endValue ) = 0;
};

#endif	// _DGT_TRIGGERELEMENT_H_

